$(function (){

    $.ajax({
        url:"/api/student/list"
    }).done(function (data)  {
        //console.log(data)
        let html="";
        data.forEach((element ,index)=>{
            html+="<tr>"
            html+="<td>"+element.id+"</td>"
            html+="<td>"+element.name+"</td>"
            html+="<td>"+element.sex+"</td>"
            html+="<td>"+element.age+"</td>"
            html+="<td>"+element.sno+"</td>"

            html+="</tr>"
        })
        $("#studentTh").html(html)
    });

    });
$(function (){
    loadStudentList();
});
let title="新增学生"
function showStudentDlg(id){


    if(id){

        title="编辑学生"
        $("#formId").css("display","block");
        $.ajax({
            url:"/api/student/"+id,
            method: "GET"
        }).done(result=>{
            console.log(result)
            $.each(result,function (key,value){
                var field=$('#studForm [name="'+key+'"]');
                if(field.is(':radio')){
                    field.filter('[value="'+value+'"]').prop('checked',true);
                }else if(field.is(':checkbox')){
                    field.prop('checked',value==="yes");
                }else{
                    field.val(value);
                }
            });
        })

    }else{
        $("#studForm")[0].reset();
        $("#formId").css("display","none");
    }
    layerIndex=layer.open(
        {
            type:1,
            title:"新增学生",
            area:['520px','auto'],
            content:$('#studForm')//捕获层
        });
}
function getSearchCondition(){
    let formData={}
    $('#queryForm').find('input,select').each(function(){
        let name=$(this).attr('name');
        let value=$(this).val();

        if(name && value){
            formData[name]=value;
        }
    });
    return formData
}
layui.use(function (){
    layui.form.on('submit(stud-dlg)',function (data){
        event.preventDefault();
        commitStuDlg();
    })
})
//初始化表格
const table=layui.table;
let student =getSearchCondition();

table.render({
    elem:'#tbStudent',
    url:'/api/student/getbypage',
    method:"POST",
    contentType:'application/json',
    where:{"data": student},
    page:true,
    cols:[[
        {type:'checkbox',fixed:'left'},
        {field:'id',fixed:'left',width:80,title:'id',sort:true},
        {field: 'name',title: '姓名'},
        {
            field: 'sno',
            title: '学号',
            width: 150,
        },
        {field: 'sex',width:80,title: '性别',sort: true,
        templet:d=>d.sex===1?'男':(d.sex===2?'女':'未知'),
        },
        {field: 'age',width: 100,title: '年龄',sort: true},
        {fixed: 'right',title: '操作',width: 134,minWidth:125, templet:'#editTemplate'}
    ]],
    done:function (rs){

    }
});

table.on('tool(tbStudent)',function (obj){
    var data = obj.data;
    if(obj.event==="edit"){
        layer.open({
            title:'编辑-id:'+data.id,
            type:1,
            area:['80%','80%'],
            content:'<div style="padding: 16px;">自定义表单元素</div>'
        });
    }
});



let layerIndex;
/**
 * 弹出对话框
 */

function search(){
    let student=getSearchCondition();
    const table=layui.table;
    table.reloadData("tbStudent",{
        where:{data:student}
    });
    console.log("where condition:"+JSON.stringify(student));
}

function commitStuDlg(){

    let id=$("#id").val();
    let formData=$("#studForm").serialize();
    if(id!=null&&id!=""){
        $.ajax(
            {
                url: "/api/student/update",
                method: "PUT",
                data: formData

            }).done(result => {
            console.log(result);
            if (result.id) {

                loadStudentList();

                console.log("add success")
                if (layerIndex)
                    layer.close(layerIndex)

            }
        }).fail((jqXHR, textStatus, errorThrown) => {
            console.error("Request failed" + textStatus + "-" + errorThrown);
            alert("error,try");
        });
    }else {



        $.ajax(
            {
                url: "/api/student/add",
                method: "POST",
                data: formData

            }).done(result => {
            console.log(result);
            if (result.id) {

                loadStudentList();

                console.log("add success")
                if (layerIndex)
                    layer.close(layerIndex)

            }
        }).fail((jqXHR, textStatus, errorThrown) => {
            console.error("Request failed" + textStatus + "-" + errorThrown);
            alert("error,try");
        });
    }
    $("#btnOK").prop("disabled",true).addClass("layui-btn-disabled");

}
function deleteById(id){
    layer.confirm('真的要删除吗？',{icon:3},function (){
       $.ajax({
           url:"/api/student/delete/"+id,
           method:"DELETE"
       }).done(result=>{
           loadStudentList();
       })
        layer.closeAll();
    },function (){
    });

}